const formatTime = date => {
  const year = date.getFullYear()
  const month = date.getMonth() + 1
  const day = date.getDate()
  const hour = date.getHours()
  const minute = date.getMinutes()
  const second = date.getSeconds()

  return `${[year, month, day].map(formatNumber).join('/')} ${[hour, minute, second].map(formatNumber).join(':')}`
}

const formatNumber = n => {
  n = n.toString()
  return n[1] ? n : `0${n}`
}

 // 生产环境配置
// ================= 环境配置 =================
const ENV = 'development'; // 切换环境：development（开发）| production（生产）

// ================= 开发环境配置 =================
const devConfig = {
    API_BASE_URL: 'https://api.xatgck.com',     // 开发环境API地址
    WS_BASE_URL: 'wss://ws-dev.example.com',    // 开发环境WebSocket地址
    APP_ID: 'wx1234567890abcdef',               // 开发环境AppID
    DEBUG_MODE: true                            // 开发环境调试模式
};

// ================= 生产环境配置 =================
const prodConfig = {
    API_BASE_URL: 'https://api.xatgck.com',    // 生产环境API地址
    WS_BASE_URL: 'wss://ws.example.com',        // 生产环境WebSocket地址
    APP_ID: 'wxabcdef1234567890',               // 生产环境AppID
    DEBUG_MODE: false                           // 生产环境调试模式
};

// ================= 合并配置 =================
const config = {
    ...(ENV === 'production' ? prodConfig : devConfig), // 根据环境选择配置
    ENV,                                              // 当前环境标识
    VERSION: '1.0.0'                                  // 全局版本号
};

function GET(api, data = {}) {
    const header = {
        'Content-Type': 'application/json'
    }
    const url = config.API_BASE_URL + api
    console.log(url)
    return new Promise((resolve, reject) => {
        wx.request({
            url, // 请求地址
            method: 'GET', // 请求方法
            data, // 请求参数
            header, // 请求头
            success(res) {
                if (res.statusCode === 200) {
                    resolve(res.data); // 成功返回数据
                } else {
                    reject(new Error(`请求失败，状态码: ${res.statusCode}`));
                }
            },
            fail(err) {
                reject(new Error(`请求失败: ${err}`));
            }
        });
    });
}

function POST(api, data = {}) {
    const header = {
        'Content-Type': 'application/json'
    }
    const url = config.API_BASE_URL + api
    console.log(url)
    return new Promise((resolve, reject) => {
        wx.request({
            url, // 请求地址
            method: 'POST', // 请求方法
            data, // 请求参数
            header, // 请求头
            success(res) {
                if (res.statusCode === 200) {
                    resolve(res.data); // 成功返回数据
                } else {
                    reject(new Error(`请求失败，状态码: ${res.statusCode}`));
                }
            },
            fail(err) {
                reject(new Error(`请求失败: ${err}`));
            }
        });
    });
}

module.exports = {
  formatTime,
  config,
  GET,
  POST
}
